package org.example.hansp.array_.arraydemo;

import java.util.Arrays;
import java.util.Scanner;

public class ArrayAdd02 {
    public static void main(String[] args) {
        // 创建 Scanner 对象以便从用户处读取输入
        Scanner sc = new Scanner(System.in);

        // 初始化一个数组，初始长度为2
        int[] arr = new int[2];
        int size = 0; // 用于跟踪数组中有效元素的数量

        // 使用 do-while 循环来接收用户输入
        do {
            // 如果数组已经满了，则扩展数组的容量为原来的两倍
            if (size == arr.length) {
                arr = Arrays.copyOf(arr, arr.length * 2);
            }

            // 提示用户输入数据
            System.out.println("请输入添加的数据:");
            arr[size] = sc.nextInt(); // 将用户输入的整数存储到数组中
            size++; // 增加有效元素的计数

            // 提示用户是否继续添加数据
            System.out.println("请输入是否继续添加 y/n:");
            char choose = sc.next().charAt(0); // 读取用户的选择

            // 如果用户选择 'n'，则退出循环
            if (choose == 'n') {
                break;
            }
        } while (true); // 循环直到用户选择退出

        // 将数组的大小调整为实际有效元素的数量
        int[] resultArray = Arrays.copyOf(arr, size);

        // 打印最终结果数组中的元素
        System.out.print("最终结果数组: ");
        for (int i : resultArray) {
            System.out.print(i + " ");
        }
        System.out.println(); // 打印换行符
    }
}
